package src.edu.wayne.cs.csc4110.hw6.implementations.stateMachine;

import src.edu.wayne.cs.csc4110.hw6.interfaces.State;
import src.edu.wayne.cs.csc4110.hw6.interfaces.User;

public abstract class AbstractState implements State {
	
	StateMachine stateMachine;
	
	AbstractState(StateMachine stateMachine){
		this.stateMachine = stateMachine;
	}
	
	public User getCurrentUser(){
		return this.stateMachine.getCurrentUser();
	}

	protected void setCurrentUser(User currentUser) {
		this.stateMachine.setCurrentUser( currentUser );
	}
	
	@Override
	public void goToLoggedInState() {
	}
	
	@Override
	public void goToChangeToNextUserState(){
		
	}
	
	@Override
	public void goToRegisterState() {
	}

	@Override
	public void goToFriendsState() {
	}

	@Override
	public void goToPrivateChatState() {
	}

	@Override
	public void goToPlayGameState() {
	}

	@Override
	public void goToNotLoggedInState() {
	}
	
	@Override
	public void logOutCurrentUser()
	{
		
	}

}
